package com.example.computer_exam_training_sys.service;

import com.example.computer_exam_training_sys.entity.UserAnalysisInfo;

import java.util.List;
import java.util.Map;

public interface UserAnalysisService {


    List<UserAnalysisInfo> findAll();
    List<UserAnalysisInfo> findByUserId(Integer userId);
    UserAnalysisInfo findById(Integer id);
    int insert(UserAnalysisInfo info);
    int update(UserAnalysisInfo info);
    int deleteById(Integer id);
    
    // 自动生成用户分析数据
    UserAnalysisInfo generateUserAnalysis(Integer userId, Integer courseId, String startDate, String endDate);
    
    // 更新或创建用户分析数据
    int saveOrUpdateUserAnalysis(Integer userId, Integer courseId);
    
    // 刷新现有分析数据
    int refreshAnalysis(Integer analysisId);
    
    // 分析用户所有课程数据
    List<UserAnalysisInfo> analyzeAllUserCourses(Integer userId);
    
    // 获取用户所有课程ID
    List<Integer> getUserCourseIds(Integer userId);
    
    // 获取用户所有课程的总体分析数据（总题数和平均正确率）
    Map<String, Object> getUserOverallAnalysis(Integer userId);
    
    // 获取用户所有课程的薄弱知识点组合
    String getCombinedWeakPoints(Integer userId);
}
